GtkListBoxRow *drag_highlighted_row;
int n_visible_rows;
- gboolean in_widget;
GListModel *bound_model;
GtkListBoxCreateWidgetFunc create_widget_func;
GtkListBox *box = GTK_LIST_BOX (widget);
GtkListBoxRow *row;
- if (event->window != BOX_PRIV (box)->view_window)
- return FALSE;
-
- BOX_PRIV (box)->in_widget = TRUE;
-
row = gtk_list_box_get_row_at_y (box, event->y);
gtk_list_box_update_prelight (box, row);
gtk_list_box_update_active (box, row);
GdkEventCrossing *event)
{
GtkListBox *box = GTK_LIST_BOX (widget);
- GtkListBoxRow *row = NULL;
- if (event->window != BOX_PRIV (box)->view_window)
- return FALSE;
-
- if (event->detail != GDK_NOTIFY_INFERIOR)
- {
- BOX_PRIV (box)->in_widget = FALSE;
- row = NULL;
- }
- else
- row = gtk_list_box_get_row_at_y (box, event->y);
-
- gtk_list_box_update_prelight (box, row);
- gtk_list_box_update_active (box, row);
+ gtk_list_box_update_prelight (box, NULL);
+ gtk_list_box_update_active (box, NULL);
return FALSE;
}
{
GtkListBox *box = GTK_LIST_BOX (widget);
GtkListBoxRow *row;
- GdkWindow *window, *event_window;
- gint relative_y;
- gdouble parent_y;
-
- if (!BOX_PRIV (box)->in_widget)
- return FALSE;
- window = BOX_PRIV (box)->view_window;
- event_window = event->window;
- relative_y = event->y;
-
- while ((event_window != NULL) && (event_window != window))
- {
- gdk_window_coords_to_parent (event_window, 0, relative_y, NULL, &parent_y);
- relative_y = parent_y;
- event_window = gdk_window_get_parent (event_window);
- }
+ row = gtk_list_box_get_row_at_y (box, event->y);
- row = gtk_list_box_get_row_at_y (box, relative_y);
gtk_list_box_update_prelight (box, row);
gtk_list_box_update_active (box, row);